1. Field of the Invention
The present invention relates generally to systems for recording time expended in performing tasks and, more particularly, to systems for automatically recording time and work performed on a computer by monitoring file activity and by monitoring various input devices.
2. Description of the Background Art
Telecommuting refers to work being done at locations other than a central location. Telecommuters are typically knowledge workers who work primarily on tasks which require mental or intellectual activity, rather than on tasks which require physical or capital intensive work at a central location. Many Telecommuters use personal computers at their remote work site. One of the biggest obstacles to implementation of telecommuting is that managers would not be able to tell if their telecommuting employees were actually working. Another obstacle is the problem of how to measure the productivity of telecommuting employees. A manager needs to trust that a telecommuting employee is working and trust is developed through quality communications between the central site and the remotely located telecommuting worker.
Professional knowledge workers, such as computer programmers, bill their time for work done on their computers. The problem of how to monitor their time and activities on their computer, as well as how to automatically calculate the cost of these activities for accounting purposes, needs to be solved. Many invoicing systems rely on the manual inputting of the billable time and a technique is required to determine the accuracy of that billed time. In the custom software programming business, specifications often change so that more time is expended than is originally projected and a customer needs to receive accurate documentation for additional time to be billed.
A Directive issued by President Clinton on Jul. 11, 1994 on family-work arrangements addressed the subject of expanding family-work arrangements in the executive branch of the U.S. Government. The head of each executive department or agency was directed to establish a program to encourage and support the expansion of flexible family-friendly work arrangements, including: job sharing; career part-time employment; alternative work schedules; telecommuting and satellite work locations. All necessary steps were to be taken to support and encourage the expanded implementation of flexible work arrangements to achieve the goals of the directive.
Telecommuting would have a significant impact on reduction of air pollution. ATandT has estimated that an average employee spends 70 minutes a day commuting and generates 43 pounds of pollution a day. If two million commuters, which is less than 3% of the United States work force, telecommuted, 43,000 tons of pollution would be eliminated every day. The California""s Southern Coast Air Quality Management District estimated the annual pollution from cars in 1991 to be 2,064,000 tons of pollutants.
Telecommuting provides a number of benefits. Productivity increase of 10% can be expected. Turnover rates and related new employee recruitment and training costs are reduced. Management by objective rather than management by process is fostered. Specialists for a particular task can be recruited, regardless of geographic location. Organizations can be flexibly organized with faster response times and improved employee morale. Telecommuters can provide greater participation by users in their local activities. A cleaner environment and an increased ability to meet state and federal clean air and employee commuting reduction programs can be provided. The consumption of energy and dependence on fossil fuels is decreased.
Several important business economic concerns are all positively affected by telecommuting, including: maintaining or increasing productivity; decreasing office space needs; attracting or retaining critical skills among the staff; and compliance with air quality or other environmental regulations.
U.S. Pat. No. 5,305,238 dated Apr. 19, 1994, granted to Starr et al. for xe2x80x9cData Input Monitor and Indicator For Managing Work Pace and Rest Periodsxe2x80x9d discloses a data input monitor for use with a computer keyboard, which measures the amount of data entered into a computer and establishes rest periods based on the measured data input. This patent counts keystrokes but does not provide an indication of what work is accomplished or what projects are being worked on.
U.S. Pat. No. 4,819,162 dated Apr. 4, 1989, granted to Webb et al. for xe2x80x9cTime Clock System Including Scheduling Payroll and Productivity Analysis Capabilityxe2x80x9d discloses a computerized time clock system, which includes a personal computer via which employee, job, and schedule records may be assembled and maintained. This system records only time-in and time-out transactions and does not provide for user-defined data collection and analysis of time expended and work accomplished.
Thus, a need exists for a technique for selectively and automatically measuring the actual amount of work done on various projects on a computer by an operator, such as a telecommuter, either at a local site or at a site on a network where the user has a number of input devices.
It is an object of a time tracking system provided according to the invention to produce automatic documentation and unalterable proof of work done on a computer. This will allow managers to feel more comfortable with having their computer-oriented employees telecommute, resulting in economic benefits to the employer, employee, and ecological benefits from reduced vehicle usage and car emissions due to commuting. Self-employed professionals who use a computer to generate income can use this product to document their work and automatically generate invoices that accurately documents the time and work done by the computer professional.
The time tracking system according to the invention has a data analyzer which provides for the exclusion of time where there is no activity on the computer. By accurately measuring the time and work on a computer, productivity can be measured and estimates for future projects can be more accurately forecasted with reduced financial risk. The time tracking system according to the invention provides the ability to track only certain user selected files or directories.
The time tracking system provided according to the invention provides for automatic documenting of time and work performed on a computer. In the past, the tracking of worked time has been done by manual input and not on stand alone personal computers. Anyone working with a personal computer or a computer network can have an automatic, accurate, and reliable means of documenting time and work done with a personal computer. The invention permits selection of the files and directories to be monitored. Multiple customers or employers can be accommodated and all operating system calls can be stored.
The time tracking system according to the invention provides an automatic way of collecting information about computer work, categorizing it by user-definable rules, and in essence, providing proof of exactly how long someone has been working on a specified task. This provides a documentation tool beneficial to both management and workers.
The time tracking system according to the invention provides a technique for selectively and automatically measuring the actual amount of work done on each of various projects on a computer by an operator such as a telecommuter.
The data collected by the system can be encrypted to maintain the integrity of the data. Because the data is encrypted, information about reported time and work performed on the computer is accurate and cannot be altered.
The system provided according to the invention automates the documenting of time and work performed on a computer. In the past, the tracking of worked time has been done by manual input and not on stand-alone personal computers. The purpose of this invention is to measure the amount of work done on a computer. The advantage is the amount of time and work performed out of sight can be accurately and automatically documented and encrypted to prevent manipulation of recorded data. Anyone working with a personal computer can have an automatic, accurate, and reliable means of documenting their time and work done with a personal computer. For those that work with personal computers, there is now. a way of automatically documenting work performed. The system is able to select what file and directories to monitor, based on user selection. The system is also able to work with multiple customers or employers to automatically store all operating system calls.
In accordance with this and other objects of the invention, a technique is provided for measuring the amount of work done on a computer. The invention is a method and system for automatically collecting information about time and work performed on a computer and includes the following elements: data collector means for monitoring certain portions of a user""s computer activity; data collector means for logging into a log file those certain portions of a user""s computer activity; data analyzer means for determining, by means of user-defined rules, which portions of those certain portions of a user""s computer activity constitutes work and how this work should be categorized by project and task with project; and external interface means for building the rules defining work. Work can be organized by customer, department, or any other sets and subsets.
The data collector means for monitoring certain portions of a user""s computer activity includes a resident module or an operating system extension such as, for example, a TSR (terminate-and-stay-resident) module which extends the file system of the computer so that detailed records are kept of file activities. The data collector means for logging those certain portions of a user""s computer activity includes an application which extends the user interface of the computer so that detailed records of user activities on external input devices, such as, for example, keyboard activity and mouse activity, are kept as a user performs work. The data collector means for logging those certain portions of a user""s computer activity includes means for producing a log file which contains a chronological summary of the activities of a user. The data collector means for logging those certain portions of a user""s computer activity includes means for producing the log file which contains non-automatically collected data, such as the user""s comments on their work.
The data collector means for monitoring certain portions of a user""s computer activity includes means for routing information about file activity to the data collection means and includes means for tabulating and writing such information to a user""s disk periodically.
The system includes means for routing information about activity of various external input devices using a hardware abstraction layer which translates external activity to keyboard activity and mouse activity to the data collection means through means for filtering such activity. Using the hardware abstraction layer, the external input devices are not limited and includes voice recognition, telephone devices, remote sensors, and other known external user input devices. A filter takes information from one program, examines it, possibly changes the information, and then passes the (modified) information along to another program.
The data analyzer means includes a database and the log file captured by the data collection means. The database contains a description of which files, directories, programs, etc. on the hard disk define a task, where a task is a basic unit of work, where one or more tasks are collected in a group known as a project, and where a project defines information about the owner of the task(s), and also serves as an accumulator for all work performed.
The log file includes a series of chronologically ordered events including items selected from the group consisting of file activity such as opens, keystrokes, mouse clicks, user notes, etc., and wherein the data analyzer means include means for reading this data and sorting these activities depending upon the task descriptions.
Certain activities in the log file are categorized as belonging to a specific task. For certain tasks, a user can define certain time periods. When that certain time period has elapsed between activity, means are provided for totaling the time as a work period.
The data analyzer means includes means for updating the database with total information. The data analyzer means includes means for updating various internal data files. The data analyzer means includes means for certification of the collected data including cross-checking to detect tampering. The data analyzer means includes means for copying the log file and for creating a new empty log for further data collection.
The external interface means for building the rules defining work includes means for manually or automatically building the rules defining work. The external interface means for building the rules defining work includes means for exporting work-completed information to other, third-party, programs such as project managers, spreadsheets, etc. The external interface means for building the rules defining work includes means preparing printed reports, financial invoices, and summary information from the categorized work results. The external interface means includes a database and one or more data files, wherein the external interface means includes means for writing from the database to export data to other programs including databases, project managers, word processors, etc., and wherein the external interface means includes means for writing to the database to import data from other programs.
A method for automatically collecting information about time and work performed on a computer includes the steps of. differentiating between multiple types of external user input devices using a hardware abstraction layer of software between the external devices and a monitoring system; monitoring certain portions of a user""s computer activity; logging into a log file those certain portions of a user""s computer activity; determining, by means of user-defined rules, which portions of those certain portions of a user""s computer activity constitutes work and how this work should be categorized by various sets and subsets, such as, for example, projects and tasks; and building the rules defining work.
The step of monitoring certain portions of a user""s computer activity includes monitoring with a resident module or an operating system extension such as, for example, a TSR (terminate-and-stay-resident) module which extends the file method of the computer so that detailed records are kept of file activities including activities such as open, close, read, write, rename, etc. The step of logging those certain portions of a user""s computer activity includes extending the computer""s user interface so that detailed records of activity on external input devices, such as keyboard activity, mouse activity, etc. are kept as the user performs work.
The step of logging those certain portions of a user""s computer activity includes providing the log file which contains a chronological summary of the user""s activities. The step of logging those certain portions of a user""s computer activity includes producing the log file which contains non-automatically collected data such as the user""s comments on their work.
The step of monitoring certain portions of a user""s computer activity includes the step of routing information about file activity to the data collection means and the steps of tabulating and writing such information to a user""s disk periodically.
A system and method according to the invention includes, but is not limited to the following internet/intranet application areas: remote access, telecommuting employment; on-site employees documenting their time for payroll; accurate billing for computer-based independent professionals and consultants such as attorneys, accountants and computer consultants; determination of activity costs; estimation of time and amount billable for future projects/work; measurement of cost/benefit of new software or hardware; project management linking; accounting systems linking; tracking of activities and time used on a distributed basis; nano-business costing; resource management tool; assistance in social accounting; manufacturing systems; remote education to document study/activity time; objective tool for screening new hires; means for distributors to get into duplication, publication services and have authors trust activity count; and video conferencing consultations with automatic billing calculations.
A system according to the invention provides information about continuous activity, as determined by each segment of user activity on a particular project, or task, exceeding an idle time interval. This is in contrast to manual stop/start clock systems which start and stop a clock such that work activity is being registered even if no actual work is being performed. The invention allows a work period to lapse when there is no activity for a time greater than the idle time limit interval.
Note that in the present invention the idle time interval can be created at the time that a report is prepared. Depending on the type of activity being monitored, the idle time interval can be set to one minute or to fifteen minutes. In this sense, the system can provide project, or task, measurements after the fact, that is, when the reports are generated from the log file information. A system according to the invention allows rules to be defined ex post facto and the log file data to be analyzed in a manner that was not contemplated when the activities in the log file were initially recorded.